package UI.administrador;

import UI.FramePrincipal;
import accesoremotoinvitado.InvitadoInterface;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.rmi.RemoteException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import static uiMain.bienRaizOk.claseR;
import static uiMain.bienRaizOk.ventana;

public class PanelAdministracionInvitados extends JPanel {

    JPanel panelDeBotones;
    JButton botonAgregarBotonPedirCita;
    JButton botonQuitarBotonPedirCita;
    JButton botonAgregarBotonConsultarCita;
    JButton botonQuitarBotonConsultarCita;
    JButton botonVolver;
    
    public PanelAdministracionInvitados(){
        super();
        
        this.setLayout(new BorderLayout());
        this.setBackground(Color.yellow);

        panelDeBotones = new JPanel(new FlowLayout());
        this.add(panelDeBotones, BorderLayout.CENTER);

        
        botonAgregarBotonPedirCita = new JButton("Agregar boton de pedir cita");
        panelDeBotones.add(botonAgregarBotonPedirCita);
        botonAgregarBotonPedirCita.addActionListener(new ActionListener() {

            @Override
            public synchronized void actionPerformed(ActionEvent ae) {
                for (int i = 0; i < claseR.getListaDeInvitados().size(); i++) {
                    InvitadoInterface esteInvitado = (InvitadoInterface) claseR.getListaDeInvitados().get(i);
                    try {
                        esteInvitado.agregarBotonParaPedirUnaCita();
                    } catch (RemoteException ex) {
                        Logger.getLogger(FramePrincipal.class.getName()).log(Level.SEVERE, null, ex);
                    }
                }
                String textoPopUp = "Se le agregó el botón de pedir cita a " + claseR.getListaDeInvitados().size() + " invitado" + ((claseR.getListaDeInvitados().size() == 1) ? "" : "s");
                JOptionPane.showMessageDialog(null, textoPopUp, "Resultado de su petición", JOptionPane.INFORMATION_MESSAGE);
            }

        });

        botonQuitarBotonPedirCita = new JButton("Quitar boton de pedir cita");
        panelDeBotones.add(botonQuitarBotonPedirCita);
        botonQuitarBotonPedirCita.addActionListener(new ActionListener() {

            @Override
            public synchronized void actionPerformed(ActionEvent ae) {
                for (int i = 0; i < claseR.getListaDeInvitados().size(); i++) {
                    InvitadoInterface esteInvitado = (InvitadoInterface) claseR.getListaDeInvitados().get(i);
                    try {
                        esteInvitado.quitarBotonParaPedirUnaCita();
                    } catch (RemoteException ex) {
                        Logger.getLogger(FramePrincipal.class.getName()).log(Level.SEVERE, null, ex);
                    }
                }
                String textoPopUp = "Se le quitó el botón de pedir cita a " + claseR.getListaDeInvitados().size() + " invitado" + ((claseR.getListaDeInvitados().size() == 1) ? "" : "s");
                JOptionPane.showMessageDialog(null, textoPopUp, "Resultado de su petición", JOptionPane.INFORMATION_MESSAGE);

            }

        });

        botonAgregarBotonConsultarCita = new JButton("Agregar boton de consultar cita");
        panelDeBotones.add(botonAgregarBotonConsultarCita);
        botonAgregarBotonConsultarCita.addActionListener(new ActionListener() {

            @Override
            public synchronized void actionPerformed(ActionEvent ae) {
                for (int i = 0; i < claseR.getListaDeInvitados().size(); i++) {
                    InvitadoInterface esteInvitado = (InvitadoInterface) claseR.getListaDeInvitados().get(i);
                    try {
                        esteInvitado.agregarBotonParaConsultarUnaCita();
                    } catch (RemoteException ex) {
                        Logger.getLogger(FramePrincipal.class.getName()).log(Level.SEVERE, null, ex);
                    }
                }
                String textoPopUp = "Se le agregó el botón de consultar cita a " + claseR.getListaDeInvitados().size() + " invitado" + ((claseR.getListaDeInvitados().size() == 1) ? "" : "s");
                JOptionPane.showMessageDialog(null, textoPopUp, "Resultado de su petición", JOptionPane.INFORMATION_MESSAGE);
            }

        });

        botonQuitarBotonConsultarCita = new JButton("Quitar boton de consultar cita");
        panelDeBotones.add(botonQuitarBotonConsultarCita);
        botonQuitarBotonConsultarCita.addActionListener(new ActionListener() {

            @Override
            public synchronized void actionPerformed(ActionEvent ae) {
                for (int i = 0; i < claseR.getListaDeInvitados().size(); i++) {
                    InvitadoInterface esteInvitado = (InvitadoInterface) claseR.getListaDeInvitados().get(i);
                    try {
                        esteInvitado.quitarBotonParaConsultarUnaCita();
                    } catch (RemoteException ex) {
                        Logger.getLogger(FramePrincipal.class.getName()).log(Level.SEVERE, null, ex);
                    }
                }

                String textoPopUp = "Se le quitó el botón de consultar cita a " + claseR.getListaDeInvitados().size() + " invitado" + ((claseR.getListaDeInvitados().size() == 1) ? "" : "s");
                JOptionPane.showMessageDialog(null, textoPopUp, "Resultado de su petición", JOptionPane.INFORMATION_MESSAGE);
            }

        });

        botonVolver = new JButton("Volver");
        panelDeBotones.add(botonVolver);
        botonVolver.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                ventana.mostrarPanelOpcionesDeAdministrador();
            }
            
        });

    }
}
